Visualize state mentions reddit data

# Create an interactive map that shows percent of state mentions in subreddit attributable to subreddit state
import plotly.express as px
import numpy as np
import pandas as pd


data = pd.read_csv('tmp/state_mentions_map.csv')
data = data.rename(columns={"percent": "Percent"})
data_filt = data[data.states_mentioned == data.subreddit]
data_filt = data_filt.rename(columns={"sub_abbr": "State"})
fig = px.choropleth(data_filt, locations='State',
                    locationmode="USA-states", color='Percent', scope="usa",
                    color_continuous_scale="Reds",
                   hover_data={'Percent':':.2f'})
fig.update_layout(width=800,
                 height=500)
fig.show()
fig.write_html("../../website-source/plots/map_state_mentions.html")
# Create an interactive matrix that shows percent of state mentions in subreddit attributable to state
data_mat = pd.read_csv('tmp/state_matrix.csv')
data_mat = data_mat.round(4)
fig = px.imshow(data_mat, color_continuous_scale='RdBu_r', origin='lower',
               labels=dict(x="State Mentioned", y="Subreddit", color="Percent"),
               x = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'],
               y = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'])
fig.update_layout(width=800,
                 height=800)
fig.update_layout(yaxis = dict(tickfont = dict(size=8)))
fig.update_layout(xaxis = dict(tickfont = dict(size=8)))

fig.show()
fig.write_html("../../website-source/plots/state_matrix.html")